package com.iwhalecloud.citybrain.flow.platform.manager.domain.repository;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.enums.NextNodeParamEnum;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.FlowNextNodeAssignee;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.FlowNodeTempParamDomain;

import java.util.List;

/**
 * @author liyang
 * @version 1.0
 * @date 2021-07-15 18:54:02
 **/
public interface FlowNodeTempParamRepository {



    /**
     * 根据流程实例编号和节点编码返回节点的临时变量
     * @param processInstanceId 流程实例编号
     * @param nodeCode 节点编码
     * @return 返回流程实例当前节点的临时变量
     */
    List<FlowNodeTempParamDomain> listNodeTempParam(String processInstanceId, String nodeCode,
                                                    NextNodeParamEnum nextNodeParamEnum);


    /**
     * 保存用户节点数据
     * @param flowNodeTempParamDomain
     * @return 返回添加成功后的数量
     */
    int create(FlowNodeTempParamDomain flowNodeTempParamDomain);

    /**
     * 更新数据
     * @param flowNodeTempParamDomain
     */
    void update(FlowNodeTempParamDomain flowNodeTempParamDomain);

    /**
     * 删除节点数据
     * @param flowNodeTempParamDomain
     */
    void deleteByExample(FlowNodeTempParamDomain flowNodeTempParamDomain);

}